//
//  publicTableHeader.h

#ifndef _publicTableHeader_h
#define _publicTableHeader_h

#include "ns3/trailer.h"
#include "ns3/nstime.h"
#include "ac-application.h"
#include "ns3/buffer.h"
#include "ac_file.h"
#include <vector>
namespace ns3 {
    
    
    class PublicTableHeader : public Trailer
    {
    public:
        PublicTableHeader ();
        PublicTableHeader (std::vector<FileInfo>,uint8_t cases);
        
        std::vector<FileInfo> GetData();
        static TypeId GetTypeId (void);
    private:
        virtual TypeId GetInstanceTypeId (void) const;
        virtual void Print (std::ostream &os) const;
        virtual uint32_t GetSerializedSize (void) const;
        virtual void Serialize (Buffer::Iterator start) const;
        virtual uint32_t Deserialize (Buffer::Iterator start);
        
        std::vector<FileInfo> pubTable;
        uint8_t cases;
        
        
    };
    
} // namespace ns3

#endif
